package com.Maykk.Demo02;

import java.util.*;

/**
 * @ClassName: HmInArrayList
 * @Description: TODO ArrayList 中存储 HashMap
 * @Author: MaykkStar@163.com
 */
public class HmInArrayList {
    public static void main(String[] args) {
        ArrayList<HashMap<String, String>> list = new ArrayList<>();

        // 定义三个 HashMap 对象
        HashMap<String, String> hm01 = new HashMap<>();
        HashMap<String, String> hm02 = new HashMap<>();
        HashMap<String, String> hm03 = new HashMap<>();

        // 往HashMap中填入元素数据
        hm01.put("有", "无");
        hm01.put("一", "二");
        hm02.put("三", "四");
        hm02.put("五", "六");
        hm03.put("七", "八");
        hm03.put("九", "十");

        // 把 HashMap 对象存储进 ArrayList 集合中
        list.add(hm01);
        list.add(hm02);
        list.add(hm03);

        // 遍历输出元素内容
        // 遍历 list 中的 HashMap 对象，获取 key 值的 Set 列表，使用列表获取元素进行遍历输出。
        for (HashMap<String, String> hm : list) {
            Set<String> keySet = hm.keySet();
            for (String key : keySet) {
                String name = hm.get(key);
                System.out.println(key + " <==> " + name);
            }
            System.out.println("===============");
        }

        // 第二弹
        // 遍历 list 中的 HashMap 对象，使用 Map.Entry() 获取键值对，使用键值对获取 key 值和元素内容。
        for (HashMap<String, String> hm : list) {
            Set<Map.Entry<String, String>> es = hm.entrySet();
            for (Map.Entry<String, String> e : es) {
                String key = e.getKey();
                String name = e.getValue();
                System.out.println(key + " <~~> " + name);
            }
            System.out.println("================");
        }

    }
}
